package io.adrainty.bolee.security.models.bo;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;

/**
 * @author AdRainty
 * @version V1.0.0
 * @since 2025/8/9 下午7:10
 */

@Data
@Schema(description = "客户端信息")
@TableName("tab_client_details")
public class ClientBO implements Serializable {

    @Serial
    private static final long serialVersionUID = 3661992905650008059L;

    @Schema(description = "客户端ID")
    private String clientId;

    @Schema(description = "客户端密钥")
    private String clientSecret;

    @Schema(description = "客户端范围")
    private String scope;

    @Schema(description = "授权类型")
    private String authorizedGrantTypes;

    @Schema(description = "回调地址")
    private String webServerRedirectUri;

    @Schema(description = "权限")
    private String authorities;

    @Schema(description = "令牌有效期")
    private Integer accessTokenValidity;

    @Schema(description = "刷新令牌有效期")
    private Integer refreshTokenValidity;

    @Schema(description = "附加信息")
    private String additionalInformation;

    @Schema(description = "是否自动授权")
    private String autoapprove;

}
